import dayjs from 'dayjs'

/**
 * 格式化日期
 * @param {string|Date} date 日期
 * @param {string} format 格式
 * @returns {string} 格式化后的日期字符串
 */
export function formatDate(date, format = 'YYYY-MM-DD HH:mm:ss') {
  if (!date) return ''
  return dayjs(date).format(format)
}

/**
 * 计算日期是否过期
 * @param {string|Date} date 日期
 * @returns {boolean} 是否过期
 */
export function isExpired(date) {
  if (!date) return true
  return dayjs().isAfter(dayjs(date))
}

/**
 * 计算剩余时间
 * @param {string|Date} date 日期
 * @returns {string} 剩余时间描述
 */
export function getRemainingTime(date) {
  if (!date) return '已过期'
  if (isExpired(date)) return '已过期'
  
  const now = dayjs()
  const target = dayjs(date)
  const days = target.diff(now, 'day')
  const hours = target.diff(now, 'hour') % 24
  const minutes = target.diff(now, 'minute') % 60
  
  if (days > 0) {
    return `${days}天${hours}小时后过期`
  } else if (hours > 0) {
    return `${hours}小时${minutes}分钟后过期`
  } else {
    return `${minutes}分钟后过期`
  }
} 